<?php

namespace WebExpres\ContentBundle\Controller;

// Aquestes son les classes que afegire per defecte
use WebExpres\ContentBundle\Controller\SeccionController;
use Symfony\Component\HttpFoundation\Request;

// Aqui posare funcions d'ajuda que tindra el Bundle
use WebExpres\ContentBundle\ContentBundle;

// Aqui vaig instacia de la classe que gestiona la BBDD
use WebExpres\ContentBundle\Entity\Article;
use WebExpres\ContentBundle\Entity\ArticleMeta;
use WebExpres\ContentBundle\Entity\ArticleTradus;
use WebExpres\ContentBundle\Entity\ArticleRelation;
use WebExpres\ServiciosBundle\Entity\Servicios;
use WebExpres\ServiciosBundle\Entity\ServiciosTradus;
use WebExpres\ServiciosBundle\Entity\Serviciosarticle;

class ContentController extends SeccionController
{
     
    public function articlesllistaAction($idhotel, $ididioma) {
    
        // Aixo es per comprovar si m'han passat un id idioma valid
        $ComLanguage = $this->consultaLanguages($ididioma);
        
        // Hi si no es valid, per defecte carrego Español
        if (count($ComLanguage) == 0) {
            
            $ididioma = 1;
            
        }
        
        $Configuracio = $this->controlOpcio();
        $HotelsPublicats = $this->consultaHotelsPublicats(0);
        
        // Netejo la variable sessio
        $this->CleanSession();
        
        switch ($Configuracio) {
            case 1:
                
                // Hotel
                
                // Aqui miro si hi ha hotels
                if (count($HotelsPublicats) == 0) {

                    // No hi ha hotels
                    $this->get('session')->setFlash("info", "Antes de definir el contenido, tienes que crear un Hotel.");
                    return $this->redirect($this->generateUrl('HotelBundle_homepage'));

                } else {

                    // Hi ha hotels

                    foreach($HotelsPublicats as $hotelPubli) {

                        $hotel = $hotelPubli;

                    }
                    
                    $idhotel = $hotel->getId();
 
                    $languages = $this->consultaLanguages(0);
                
                    if (count($languages) == 1) {
                   
                        $languages = "";
                    
                    }
                    
                    $em = $this->getDoctrine()->getEntityManager();
                    $idarticles = $em->getRepository('ContentBundle:Article')->findByIdhotel($hotel->getId());

                    $articles = array();
                    $SeccionArray = array();
                    
                    foreach ($idarticles as $k => $idarticle) {
                        
                        $ResultatArticle = $this->getArticleTradus($idarticle->getId(), $ididioma);
                        
                        if (is_int($ResultatArticle)) {
                            
                            $DefaultIdioma = 1;
                            $ResultatArticle = $this->getArticleTradus($idarticle->getId(), $DefaultIdioma);
                            $noTeTraduccio = 1;
                            
                        } else {
                            
                            $noTeTraduccio = 0;
                            
                        }
                        
                        $UnioArray = array();

                        $UnioArray[$k]['idtradu'] = $ResultatArticle->getId();
                        $UnioArray[$k]['idarticle'] = $ResultatArticle->getIdarticle();
                        $UnioArray[$k]['titulo'] = $ResultatArticle->getTitulo();
                        $UnioArray[$k]['contenido'] = $ResultatArticle->getContenido();
                        $UnioArray[$k]['ididioma'] = $ResultatArticle->getIdidioma();
                        $UnioArray[$k]['published'] = $ResultatArticle->getPublished();
                        $UnioArray[$k]['idseccion'] = $idarticle->getIdseccion();
                        $UnioArray[$k]['id'] = $idarticle->getId();
                        $UnioArray[$k]['notraduccio'] = $noTeTraduccio;

                        $articles = array_merge($articles, $UnioArray);
                        
                        $ResultatSeccio = array();
                        
                        $ResultatSeccioConsulta = $this->getSeccionsTradus($idarticle->getIdseccion(), $ididioma);
                        
                        if (is_int($ResultatSeccioConsulta)) {
                            
                            $DefaultIdioma = 1;
                            $ResultatSeccioConsulta = $this->getSeccionsTradus($idarticle->getIdseccion(), $DefaultIdioma);
                            
                        }
                        
                        $ResultatSeccio[$k] = $ResultatSeccioConsulta;
                        
                        $SeccionArray = array_merge($SeccionArray, $ResultatSeccio);
                        
                    }
                    
                    return $this->render('ContentBundle:Hotel:llistaarticles.html.twig', array("configuracio" => $Configuracio, 'hotel' => $hotel, 'languages' => $languages, 'idioma' => $ididioma, 'articles' => $articles, 'seccions' => $SeccionArray));

                }  
                
            break;
            case 2:
                
                // Cadena
                echo "Encara ho tinc que fer";
                die();
                
            break;
            default:
                
                // No hi ha configuracio inicial                
                return $this->redirect($this->generateUrl('ConfigBundle_homepage'));
                
            break;
        }
        
    }    
    
    public function articlesanadirAction($idhotel, $ididioma) {
        
        $Configuracio = $this->controlOpcio();
        $HotelsPublicats = $this->consultaHotelsPublicats(0);
        $session = $this->getRequest()->getSession();
        
        // Netejo la sessio de variables
        $this->CleanSession();
        
        switch ($Configuracio) {
            case 1:
                
                // Hotel
                
                // Aqui miro si ha hotels
                if (count($HotelsPublicats) == 0) {

                    // No hi ha hotels
                    $this->get('session')->setFlash("info", "Antes de definir el contenido, tienes que crear un Hotel.");
                    return $this->redirect($this->generateUrl('HotelBundle_homepage'));

                } else {
                
                    // Hi ha hotels
                    
                    foreach($HotelsPublicats as $hotelPubli) {

                        $hotel = $hotelPubli;

                    }
                    
                    $idhotel = $hotel->getId();
                    $idarticle = "";
                    
                    $abreSeccio = $this->montaArbreContingut($idhotel, $ididioma, $idarticle);
                    
                    $mostraServicios = $this->montaServeis($ididioma, 0);
                    
                    $session->set('idhotel', $idhotel);
                    
                    // Aixo es per que sera un insert
                    $modi = 0;
                    
                    return $this->render('ContentBundle:Hotel:formarticle.html.twig', array("configuracio" => $Configuracio, 'hotel' => $hotel, 'arbre' => $abreSeccio, 'modi' => $modi, "servicios" => $mostraServicios ));
                
                }
                
            break;
            case 2:
                
                // Cadena
                echo "Encara ho tinc que fer";
                die();
                
            break;
            default:
                
                // No hi ha configuracio inicial                
                return $this->redirect($this->generateUrl('ConfigBundle_homepage'));
                
            break;
        }
        
    }
    
    public function articlessaveAction($idhotel, $ididioma) {
        
        $Configuracio = $this->controlOpcio();
        $HotelsPublicats = $this->consultaHotelsPublicats(0);
        
        // Recullo tot el Request
        $request = $this->getRequest();
        $session = $this->getRequest()->getSession();
        
        switch ($Configuracio) {
            case 1:
                
                // Hotel
                
                // Aqui miro si ha hotels
                if (count($HotelsPublicats) == 0) {

                    // No hi ha hotels
                    $this->get('session')->setFlash("info", "Antes de definir el contenido, tienes que crear un Hotel.");
                    return $this->redirect($this->generateUrl('HotelBundle_homepage'));

                } else {
                    
                    // Hi ha hotel
                    // Preparo per guardar l'article
                
                    $ReculloIdhotel = $session->get('idhotel');

                    $idhotel = $ReculloIdhotel;
                    $Titulo = $request->request->get('titulo');
                    $Contenido = $request->request->get('contenido');
                    $Seccion = $request->request->get('seccion');
                    $Publicado = $request->request->get('publicado');
            
                    $TitleTag = $request->request->get('titletag');
                    $KeywordsTag = $request->request->get('Keywordstag');
                    $DescTag = $request->request->get('desctag');
                    $UrlfriendlyTag = $request->request->get('urlfriendlytag');

                    // Valido els Camps
                    if ($Titulo != "" && $Contenido != "" && $Seccion != "" && $TitleTag != "" && $UrlfriendlyTag != "") {
                        
                        // Es correcte
                        
                        // Aqui guardo l'Article
                        $insertArticle = new Article();
                        $insertArticle->setIdhotel($idhotel);
                        $insertArticle->setIdseccion($Seccion);
                        $insertArticle->setIdtipo(0);
                        $insertArticle->setCreatedAt(new \DateTime('now'));
                        $insertArticle->setUpdatedAt(new \DateTime('now'));
                        
                        $accioArticle = $insertArticle;

                        $ec = $this->getDoctrine()->getEntityManager();
                        $ec->persist($accioArticle);
                        $ec->flush();

                        // Aqui guardo els textes
                        
                        $insertArticleTradus = New ArticleTradus();
                        $insertArticleTradus->setIdarticle($accioArticle->getId());
                        $insertArticleTradus->setTitulo($Titulo);
                        $insertArticleTradus->setContenido($Contenido);
                        $insertArticleTradus->setIdidioma($ididioma);
                        $insertArticleTradus->setPublished($Publicado);
                        $insertArticleTradus->setCreatedAt(new \DateTime('now'));
                        $insertArticleTradus->setUpdatedAt(new \DateTime('now'));
                        $accioArticleTradus = $insertArticleTradus;
                       
                        $ec = $this->getDoctrine()->getEntityManager();
                        $ec->persist($accioArticleTradus);
                        $ec->flush();

                        // Aqui guardo els Metas
                        $insertArticleMetas = New ArticleMeta();
                        $insertArticleMetas->setIdarticle($accioArticle->getId());
                        $insertArticleMetas->setIdidioma($ididioma);
                        $insertArticleMetas->setTitle($TitleTag);
                        $insertArticleMetas->setKeywords($KeywordsTag);
                        $insertArticleMetas->setDescription($DescTag);
                        $insertArticleMetas->setUrlfriendly($UrlfriendlyTag);
                        $insertArticleMetas->setCreatedAt(new \DateTime('now'));
                        $insertArticleMetas->setUpdatedAt(new \DateTime('now'));
                        $accioArticleMetas = $insertArticleMetas;

                        $ec = $this->getDoctrine()->getEntityManager();
                        $ec->persist($accioArticleMetas);
                        $ec->flush();
                        
                        // Aqui guardo els relacio
                        $insertArticleRela = New ArticleRelation();
                        $insertArticleRela->setIdseccion($Seccion);
                        $insertArticleRela->setIdarticle($accioArticle->getId());
                       
                        $accioArticleRela = $insertArticleRela;

                        $ec = $this->getDoctrine()->getEntityManager();
                        $ec->persist($accioArticleRela);
                        $ec->flush();
                        
                        // Aqui colocare la relacio del article amb els serveis
                        
                        $mostraServicios = $this->montaServeis($ididioma, 0);
                        
                        foreach($mostraServicios as $Servicio) {
                            
                            $valor = "servicio-".$Servicio['idservicio'];
                            
                            if ($request->request->get($valor) != "") {
                                
                                $inserRelacioServicioArticulo = New Serviciosarticle();
                                $inserRelacioServicioArticulo->setIdarticle($accioArticle->getId());
                                $inserRelacioServicioArticulo->setIdservicio($request->request->get($valor));
                                
                                $accioRelacioServicioArticulo = $inserRelacioServicioArticulo;
                                
                                $ec = $this->getDoctrine()->getEntityManager();
                                $ec->persist($accioRelacioServicioArticulo);
                                $ec->flush();
                                
                            }
                            
                        }
                        
                        // No es correcte
                        $this->CleanSession();

                        $this->get('session')->setFlash("success", "Article creat correctament");
                        return $this->redirect($this->generateUrl('ContentBundle_articles_add'));                        
                        
                    } else {
                    
                        // No es correcte
                        $this->CleanSession();
                        
                        $this->get('session')->setFlash("error", "Los campos con asterisco, son obligatorios.");
                        return $this->redirect($this->generateUrl('ContentBundle_articles_add')); 
                        
                    }
                
                }
                
            break;
            case 2:
                
                // Cadena
                echo "Encara ho tinc que fer";
                die();
                
            break;
            default:
                
                // No hi ha configuracio inicial                
                return $this->redirect($this->generateUrl('ConfigBundle_homepage'));
                
            break;
        }
        
    }

    public function articlepublicaAction($idhotel, $idarticle, $ididioma) {
        
        $Configuracio = $this->controlOpcio();
        
        // Netejo la sessio de variables
        $this->CleanSession();
        
        switch ($Configuracio) {
            case 1:
                
                // Hotel
                echo "Aqui publicare o despublicare els articles";
                echo "Encara ho tinc que fer";
                die();
                
            break;
            case 2:
                
                // Cadena
                echo "Encara ho tinc que fer";
                die();
                
            break;
            default:
                
                // No hi ha configuracio inicial                
                return $this->redirect($this->generateUrl('ConfigBundle_homepage'));
                
            break;
        }
        
    }
    
    public function articleborrarAction($idhotel, $idarticle, $ididioma) {
        
        $Configuracio = $this->controlOpcio();
        $HotelsPublicats = $this->consultaHotelsPublicats(0);
        $session = $this->getRequest()->getSession();
        
        // Netejo la variable sessio
        $this->CleanSession();
        
        switch ($Configuracio) {
            case 1:
                
                // Hotel
                
                // Aqui miro si hi ha hotels
                if (count($HotelsPublicats) == 0) {

                    // No hi ha hotels
                    $this->get('session')->setFlash("info", "Antes de definir el contenido, tienes que crear un Hotel.");
                    return $this->redirect($this->generateUrl('HotelBundle_homepage'));

                } else { 
                    
                    // Hi ha hotels
                    
                    // Aixo es per comprovar si m'han passat un id idioma valid
                    $ComLanguage = $this->consultaLanguages($ididioma);
                    
                    // Hi si no es valid, per defecte carrego Español
                    if (count($ComLanguage) != 0) {
                        
                        // Es un idioma valid
                        
                        // Estem passant un $idseccion, pero ara tenim que comprovar que sigui correcte

                        $resultadosTradus = $this->getArticleTradus($idarticle, $ididioma);
                        $resultadosMetas = $this->getArticleMetas($idarticle, $ididioma);
                        $resultadosRelacio = $this->getArticleRelacio($idarticle);
                        
                        if (is_object($resultadosTradus) && $idarticle != 0) {

                            // $idarticle es bona puc borrar
                            
                            // Borro Taula Seccion
                            $em = $this->getDoctrine()->getEntityManager();
                            $ArticleBorrar = $em->getRepository('ContentBundle:Article')->find($idarticle);
                            $em->remove($ArticleBorrar);
                            $em->flush();

                            // Borro Taula SeccionRelation
                            $em = $this->getDoctrine()->getEntityManager();
                            $ArticleRelationBorrar = $em->getRepository('ContentBundle:ArticleRelation')->findOneByIdarticle($idarticle);
                            $em->remove($ArticleRelationBorrar);
                            $em->flush();

                            // Borro Taula SeccionMetas
                            $em = $this->getDoctrine()->getEntityManager();
                            $ArticleMetasBorrar = $em->getRepository('ContentBundle:ArticleMeta')->findByIdarticle($idarticle);

                            foreach ($ArticleMetasBorrar as $ArticleMetaBorrar) {

                                $em->remove($ArticleMetaBorrar);
                                $em->flush();

                            }

                            // Borro Taula SeccionTradus
                            $em = $this->getDoctrine()->getEntityManager();
                            $ArticleTradusBorrar = $em->getRepository('ContentBundle:ArticleTradus')->findByIdarticle($idarticle);

                            foreach ($ArticleTradusBorrar as $ArticleTraduBorrar) {
                                
                                $em->remove($ArticleTraduBorrar);
                                $em->flush();
                                
                            }
                            
                            // Aqui borrare tots els serveis relacionats
                            
                            $em = $this->getDoctrine()->getEntityManager();
                            $ServeisRelacionats = $em->getRepository('ServiciosBundle:Serviciosarticle')->findBy(
                                array('idarticle' => $idarticle )
                            );
                            
                            foreach ($ServeisRelacionats as $ServeiRelacionat) {
                                
                                $em->remove($ServeiRelacionat);
                                $em->flush();
                                
                            }

                            $this->get('session')->setFlash("success", "Article borrado correctamente.");
                            return $this->redirect($this->generateUrl('ContentBundle_articles_list_idioma', array('ididioma' => $ididioma)));

                        } else {

                            // $idarticle es dolenta

                            $this->get('session')->setFlash("error", "Esta intentando borrar un Articulo que no existe.");
                            return $this->redirect($this->generateUrl('ContentBundle_articles_list_idioma', array('ididioma' => $ididioma)));                                

                        }
                        
                    } else {
                        
                        // No es un idioma valid
                        $this->get('session')->setFlash("error", "El idioma que recibo, no es el correcto.");
                        return $this->redirect($this->generateUrl('ContentBundle_articles_list'));
                        
                    }
                    
                }
                
            break;
            case 2:
                
                // Cadena
                echo "Encara ho tinc que fer";
                die();
                
            break;
            default:
                
                // No hi ha configuracio inicial                
                return $this->redirect($this->generateUrl('ConfigBundle_homepage'));
                
            break;
        }
        
    }
    
    public function articleeditaAction($idhotel, $idarticle, $ididioma) {
        
        $Configuracio = $this->controlOpcio();
        $HotelsPublicats = $this->consultaHotelsPublicats(0);
        $session = $this->getRequest()->getSession();
        
        // Netejo la sessio de variables
        $this->CleanSession();
        
        switch ($Configuracio) {
            case 1:
                
                // Hotel
                
                // Aqui miro si hi ha hotels
                if (count($HotelsPublicats) == 0) {

                    // No hi ha hotels
                    $this->get('session')->setFlash("info", "Antes de definir el contenido, tienes que crear un Hotel.");
                    return $this->redirect($this->generateUrl('HotelBundle_homepage'));

                } else {
                
                    // Hi ha hotels
                    
                    // Aixo es per comprovar si m'han passat un id idioma valid
                    $ComLanguage = $this->consultaLanguages($ididioma);
                    
                    // Hi si no es valid, per defecte carrego Español
                    if (count($ComLanguage) != 0) {
                        
                         // Es un idioma valid
                            
                        // Estem passant un $idseccion, pero ara tenim que comprovar que sigui correcte

                        $resultadosTradus = $this->getArticleTradus($idarticle, $ididioma);
                        $resultadosMetas = $this->getArticleMetas($idarticle, $ididioma);
                        $resultadosRelacio = $this->getArticleRelacio($idarticle);
                        
                        if (is_object($resultadosTradus) && $idarticle != 0) {

                            // $idseccion es bona
                            
                            foreach($HotelsPublicats as $hotelPubli) {

                                $hotel = $hotelPubli;

                            }
                            
                            $idhotel = $hotel->getId();
                            
                            $abreSeccio = $this->montaArbreContingut($idhotel, $ididioma, $idarticle);
                            
                            $mostraServicios = $this->montaServeis($ididioma, $idarticle);

                            $modi = 1;
                            
                            $session->set('ididioma', $ididioma);
                            $session->set('idarticle', $idarticle);
                            $session->set('idtradus', $resultadosTradus->getId());
                            $session->set('idmetas', $resultadosMetas->getId());
                            $session->set('idrelacio', $resultadosRelacio->getId());
                            
                            return $this->render('ContentBundle:Hotel:formarticle.html.twig', array("configuracio" => $Configuracio, 'hotel' => $hotel, 'arbre' => $abreSeccio, 'modi' => $modi, 'articletradus' => $resultadosTradus, 'articlerelacio' => $resultadosRelacio, 'articlemetas' => $resultadosMetas, 'ididioma' => $ididioma, 'servicios' => $mostraServicios ));

                        } else {

                            // $idseccion es dolenta

                            $this->get('session')->setFlash("error", "Esta intentando modificar un Articulo que no existe.");
                            return $this->redirect($this->generateUrl('ContentBundle_articles_list_idioma', array('ididioma' => $ididioma)));                                

                        }
                        
                        
                    }  else {
                        
                        // No es un idioma valid
                        $this->get('session')->setFlash("error", "El idioma que recibo, no es el correcto.");
                        return $this->redirect($this->generateUrl('ContentBundle_articles_list'));
                        
                    }
                    
                }
                
            break;
            case 2:
                
                // Cadena
                echo "Encara ho tinc que fer";
                die();
                
            break;
            default:
                
                // No hi ha configuracio inicial                
                return $this->redirect($this->generateUrl('ConfigBundle_homepage'));
                
            break;
        }
        
    }
    
    public function articleeditasaveAction() {
        
        $Configuracio = $this->controlOpcio();
        $HotelsPublicats = $this->consultaHotelsPublicats(0);
        
        // Recullo tot el Request
        $request = $this->getRequest();
        $session = $this->getRequest()->getSession();
        
        switch ($Configuracio) {
            case 1:
                
                // Hotel
                
                // Aqui miro si ha hotels
                if (count($HotelsPublicats) == 0) {

                    // No hi ha hotels
                    $this->get('session')->setFlash("info", "Antes de definir el contenido, tienes que crear un Hotel.");
                    return $this->redirect($this->generateUrl('HotelBundle_homepage'));

                } else {
                    
                    // Hi ha hotel
                    
                    // Guardo el valor del objecte nom "DadesGuarda" el $botoFormulari
                    $botoFormulari = $request->request->get('DadesGuardaModi');
                    
                    // Aqui controlo si han fet click el boto de guardar
                    if (isset($botoFormulari)) {
                        
                        // Hi ha click

                        $Titulo = $request->request->get('titulo');
                        $Contenido = $request->request->get('contenido');
                        $Seccion = $request->request->get('seccion');
                        $Publicado = $request->request->get('publicado');
            
                        $TitleTag = $request->request->get('titletag');
                        $KeywordsTag = $request->request->get('Keywordstag');
                        $DescTag = $request->request->get('desctag');
                        $UrlfriendlyTag = $request->request->get('urlfriendlytag');
                        
                        if ($Titulo != "" && $Contenido != "" && $TitleTag != "" && $UrlfriendlyTag != "" ) {
                            
                            // els camps no estan buits
                            
                            $ididioma = $session->get('ididioma');
                            $idarticle = $session->get('idarticle');
                            $idtradus = $session->get('idtradus');
                            $idmetas = $session->get('idmetas');
                            $idrelacio = $session->get('idrelacio');
                            
                            // Aqui guardo l'Article
                            $em = $this->getDoctrine()->getEntityManager();
                            $ClassUpdateArticle = $em->getRepository('ContentBundle:Article')->find($idarticle);
                            
                            $updateArticle = $ClassUpdateArticle;
                            $updateArticle->setIdseccion($Seccion);
                            $updateArticle->setUpdatedAt(new \DateTime('now'));

                            $accioArticle = $updateArticle;

                            $ec = $this->getDoctrine()->getEntityManager();
                            $ec->persist($accioArticle);
                            $ec->flush();

                            // Aqui guardo els textes
                            
                            $em = $this->getDoctrine()->getEntityManager();
                            $ClassUpdateTradus = $em->getRepository('ContentBundle:ArticleTradus')->find($idtradus);

                            $updateArticleTradus = $ClassUpdateTradus;
                            $updateArticleTradus->setTitulo($Titulo);
                            $updateArticleTradus->setContenido($Contenido);
                            $updateArticleTradus->setPublished($Publicado);
                            $updateArticleTradus->setUpdatedAt(new \DateTime('now'));
                            $accioArticleTradus = $updateArticleTradus;

                            $ec = $this->getDoctrine()->getEntityManager();
                            $ec->persist($accioArticleTradus);
                            $ec->flush();

                            // Aqui guardo els Metas
                            
                            $em = $this->getDoctrine()->getEntityManager();
                            $ClassUpdateMeta = $em->getRepository('ContentBundle:ArticleMeta')->find($idmetas);
                            
                            $updateArticleMetas = $ClassUpdateMeta;
                            $updateArticleMetas->setTitle($TitleTag);
                            $updateArticleMetas->setKeywords($KeywordsTag);
                            $updateArticleMetas->setDescription($DescTag);
                            $updateArticleMetas->setUrlfriendly($UrlfriendlyTag);
                            $updateArticleMetas->setUpdatedAt(new \DateTime('now'));
                            $accioArticleMetas = $updateArticleMetas;

                            $ec = $this->getDoctrine()->getEntityManager();
                            $ec->persist($accioArticleMetas);
                            $ec->flush();

                            // Aqui guardo els relacio
                            
                            $em = $this->getDoctrine()->getEntityManager();
                            $ClassUpdateRela = $em->getRepository('ContentBundle:ArticleRelation')->find($idrelacio);
                            
                            $updateArticleRela = $ClassUpdateRela;
                            $updateArticleRela->setIdseccion($Seccion);
                            
                            $accioArticleRela = $updateArticleRela;

                            $ec = $this->getDoctrine()->getEntityManager();
                            $ec->persist($accioArticleRela);
                            $ec->flush();
                            
                            // Primer borrare tots els serveis i despres els tornare a crear
                            
                            $em = $this->getDoctrine()->getEntityManager();
                            $ServeisRelacioBorrar = $em->getRepository('ServiciosBundle:Serviciosarticle')->findBy(
                                array('idarticle' => $idarticle)
                            );
                            
                            foreach($ServeisRelacioBorrar as $borraRelacio) {
                                
                                $em->remove($borraRelacio);
                                $em->flush();
                                
                            }
                            
                            // Aqui colocare la relacio del article amb els serveis
                            
                            $mostraServicios = $this->montaServeis($ididioma, 0);

                            foreach($mostraServicios as $Servicio) {

                                $valor = "servicio-".$Servicio['idservicio'];

                                if ($request->request->get($valor) != "") {

                                    $inserRelacioServicioArticulo = New Serviciosarticle();
                                    $inserRelacioServicioArticulo->setIdarticle($idarticle);
                                    $inserRelacioServicioArticulo->setIdservicio($request->request->get($valor));

                                    $accioRelacioServicioArticulo = $inserRelacioServicioArticulo;

                                    $ec = $this->getDoctrine()->getEntityManager();
                                    $ec->persist($accioRelacioServicioArticulo);
                                    $ec->flush();

                                }

                            }                            
                            
                            // Netejo la variable sessio
                            $this->CleanSession();
                            
                            $this->get('session')->setFlash("succes", "Articulo modificado correctamente.");
                            return $this->redirect($this->generateUrl('ContentBundle_articles_list_idioma', array('ididioma' => $ididioma))); 
                            
                        } else {
                            
                            // els camps estan buits
                            
                            $ididiomaSessio = $session->get("ididioma");
                            $idseccionSessio = $session->get("idseccion");
                            
                            // Netejo la variable sessio
                            $this->CleanSession();
                            
                            $this->get('session')->setFlash("error", "Los campos con asterisco, son obligatorios.");
                            return $this->redirect($this->generateUrl('ContentBundle_secciones_edit', array('ididioma' => $ididiomaSessio, 'idseccion' => $idseccionSessio)));                            
                            
                        }
                        
                    } else {
                        
                        // No ha fet click
                        
                        $this->CleanSession();
                        
                        $this->get('session')->setFlash("error", "No se que quieres hacer.");
                        return $this->redirect($this->generateUrl('ContentBundle_homepage'));
                        
                    }
                
                }
                
            break;
            case 2:
                
                // Cadena
                echo "Encara ho tinc que fer";
                die();
                
            break;
            default:
                
                // No hi ha configuracio inicial                
                return $this->redirect($this->generateUrl('ConfigBundle_homepage'));
                
            break;
        }
        
    }
    
    public function articletraduAction($idhotel, $idarticle, $ididioma) {
        
        $Configuracio = $this->controlOpcio();
        $HotelsPublicats = $this->consultaHotelsPublicats(0);
        $session = $this->getRequest()->getSession();
        
        switch ($Configuracio) {
            case 1:
                
                // Hotel
        
                // Aqui miro si hi ha hotels
                if (count($HotelsPublicats) == 0) {

                    // No hi ha hotels
                    $this->get('session')->setFlash("info", "Antes de definir el contenido, tienes que crear un Hotel.");
                    return $this->redirect($this->generateUrl('HotelBundle_homepage'));

                } else {      
                    
                    // Hi ha hotels
                    
                    // Aixo es per comprovar si m'han passat un id idioma valid
                    $ComLanguage = $this->consultaLanguages($ididioma);
                    
                    // Hi si no es valid, per defecte carrego Español
                    if (count($ComLanguage) != 0) {
                        
                        // Es un idioma valid
                        
                        $em = $this->getDoctrine()->getEntityManager();
                        $ResultatSeccio = $em->getRepository('ContentBundle:Article')->find($idarticle);

                        // Comprovo si es un contingut real
                        if (is_object($ResultatSeccio)) {

                            // Existeix

                            $ResultatIdioma = $this->getArticleTradus($idarticle, $ididioma);

                            if (!is_object($ResultatIdioma)) {

                                // No existeix la traduccio

                                foreach($HotelsPublicats as $hotelPubli) {

                                    $hotel = $hotelPubli;

                                }
                                
                                $idhotel = $hotel->getId();

                                $abreSeccio = $this->montaArbreContingut($idhotel, $ididioma, $idarticle);

                                $session->set('idhotel', $idhotel);
                                $session->set('idarticle', $idarticle);
                                $session->set('ididioma', $ididioma);

                                $modi = 2;    

                                return $this->render('ContentBundle:Hotel:formarticle.html.twig', array("configuracio" => $Configuracio, 'hotel' => $hotel, 'arbre' => $abreSeccio, 'modi' => $modi, 'ididioma' => $ididioma ));                                


                            } else {

                                // Existeix la traduccio

                                $this->get('session')->setFlash("error", "El Articulo ya tiene una traduccion.");
                                return $this->redirect($this->generateUrl('ContentBundle_articles_list_idioma', array('ididioma' => $ididioma)));

                            }

                        } else {

                            // No existeix

                            $this->CleanSession();

                            $this->get('session')->setFlash("error", "El Articulo no existe.");
                            return $this->redirect($this->generateUrl('ContentBundle_articles_list_idioma', array('ididioma' => $ididioma)));

                        }
                        
                    } else {
                        
                        // No es un idioma valid
                        $this->get('session')->setFlash("error", "El idioma que recibo, no es el correcto.");
                        return $this->redirect($this->generateUrl('ContentBundle_articles_list'));
                        
                    }
                    
                }          
                
                
            break;
            case 2:
                
                // Cadena
                echo "Encara ho tinc que fer";
                die();
                
            break;
            default:
                
                // No hi ha configuracio inicial                
                return $this->redirect($this->generateUrl('ConfigBundle_homepage'));
                
            break;
        }
        
    }
    
    public function articletradusaveAction() {
        
        $Configuracio = $this->controlOpcio();
        $HotelsPublicats = $this->consultaHotelsPublicats(0);
        $session = $this->getRequest()->getSession();
        
        switch ($Configuracio) {
            case 1:
                
                // Hotel
                
                // Aqui miro si hi ha hotels
                if (count($HotelsPublicats) == 0) {

                    // No hi ha hotels
                    $this->get('session')->setFlash("info", "Antes de definir el contenido, tienes que crear un Hotel.");
                    return $this->redirect($this->generateUrl('HotelBundle_homepage'));

                } else {
                    
                    // Hi ha hotels
                    
                    // Recullo tot el Request
                    $request = $this->getRequest();
                    
                    // Guardo el valor del objecte nom "DadesGuardaCrea" el $botoFormulari
                    $botoFormulari = $request->request->get('DadesGuardaCrea');
                    
                    // Aqui controlo si han fet click el boto de guardar
                    if (isset($botoFormulari)) {
                        
                        // A fet click
                        
                        $Titulo = $request->request->get('titulo');
                        $Contenido = $request->request->get('contenido');
                        $Seccion = $request->request->get('seccion');
                        $Publicado = $request->request->get('publicado');
            
                        $TitleTag = $request->request->get('titletag');
                        $KeywordsTag = $request->request->get('Keywordstag');
                        $DescTag = $request->request->get('desctag');
                        $UrlfriendlyTag = $request->request->get('urlfriendlytag');
                        
                        if ($Titulo != "" && $Contenido != "" && $TitleTag != "" && $UrlfriendlyTag != "" ) {
                            
                            // Estan les dades be
                            
                            $idarticleSession = $session->get("idarticle");
                            $ididiomaSession = $session->get("ididioma");
                            
                            // Insert Tradus
                            $insertArticleTradus = New ArticleTradus();
                            $insertArticleTradus->setIdarticle($idarticleSession);
                            $insertArticleTradus->setTitulo($Titulo);
                            $insertArticleTradus->setContenido($Contenido);
                            $insertArticleTradus->setIdidioma($ididiomaSession);
                            $insertArticleTradus->setPublished($Publicado);
                            $insertArticleTradus->setCreatedAt(new \DateTime('now'));
                            $insertArticleTradus->setUpdatedAt(new \DateTime('now'));
                            $accioArticleTradus = $insertArticleTradus;
                            
                            $ec = $this->getDoctrine()->getEntityManager();
                            $ec->persist($accioArticleTradus);
                            $ec->flush();


                            // Aqui guardo els Metas
                            $insertArticleMetas = New ArticleMeta();
                            $insertArticleMetas->setIdarticle($idarticleSession);
                            $insertArticleMetas->setIdidioma($ididiomaSession);
                            $insertArticleMetas->setTitle($TitleTag);
                            $insertArticleMetas->setKeywords($KeywordsTag);
                            $insertArticleMetas->setDescription($DescTag);
                            $insertArticleMetas->setUrlfriendly($UrlfriendlyTag);
                            $insertArticleMetas->setCreatedAt(new \DateTime('now'));
                            $insertArticleMetas->setUpdatedAt(new \DateTime('now'));
                            $accioArticleMetas = $insertArticleMetas;

                            $ec = $this->getDoctrine()->getEntityManager();
                            $ec->persist($accioArticleMetas);
                            $ec->flush();
                            
                            $this->CleanSession();
                            
                            $this->get('session')->setFlash("success", "Traduccion creada correctamente");
                            return $this->redirect($this->generateUrl('ContentBundle_articles_list_idioma', array('ididioma' => $ididiomaSession)));
                            
                        } else {
                        
                            $ididiomaSessio = $session->get("ididioma");
                            $idarticleSessio = $session->get("idarticle");
                            
                            // Netejo la variable sessio
                            $this->CleanSession();
                            
                            $this->get('session')->setFlash("error", "Los campos con asterisco, son obligatorios.");
                            return $this->redirect($this->generateUrl('ContentBundle_article_tradu', array('ididioma' => $ididiomaSessio, 'idarticle' => $idarticleSessio)));
                            
                        }
                        
                    } else {
                        
                        // No ha fet click
                        
                        $this->get('session')->setFlash("error", "No se que quieres hacer.");
                        return $this->redirect($this->generateUrl('ContentBundle_homepage'));
                        
                    }
                    
                }
                               
                
            break;
            case 2:
                
                // Cadena
                
                echo "Encara ho tinc que fer";
                die();                
                
            break;
            default:
                
                // No hi ha configuracio inicial                
                return $this->redirect($this->generateUrl('ConfigBundle_homepage'));
                
            break;
        }
        
    }
    
    public function montaServeis($ididioma, $idarticle) {

        $em = $this->getDoctrine()->getEntityManager();
        $Servicios = $em->getRepository('ServiciosBundle:Servicios')->findAll();
     
        $ResultatArray = array();
        $ServicioRelacio = array();
        
        if ($idarticle != 0) {
            
            $ServicioRelacioObjecte = $em->getRepository('ServiciosBundle:Serviciosarticle')->findBy(
                array('idarticle' => $idarticle)
            );
            
            foreach ($ServicioRelacioObjecte as $i => $Relacio) {
                
                $ServicioRelacio[$i] = $Relacio->getIdservicio();
                
            }
            
        }

        foreach($Servicios as $k => $Servicio) {

            $idservicio = $Servicio->getId();
            
            if (in_array($idservicio, $ServicioRelacio)) {
                
                // Esta dins l'array
                $valorActivo = 1;
                
            } else {
                
                // No esta dins l'array
                $valorActivo = 0;
                
            }

            $ServicioTradu = $em->getRepository('ServiciosBundle:ServiciosTradus')->findOneBy(
                array('idservicio' => $idservicio, 'ididioma' => $ididioma)
            );

            if (is_object($ServicioTradu)) {

                // Hi ha traduccio

                $idservicio = $ServicioTradu->getIdservicio();
                $nombreservicio = $ServicioTradu->getNombreservicio();
                $traduservicio = 1;

            } else {

                // No hi ha traduccio

                $ididiomaDefault = 1;

                $ServicioTradu = $em->getRepository('ServiciosBundle:ServiciosTradus')->findOneBy(
                    array('idservicio' => $idservicio, 'ididioma' => $ididiomaDefault)
                );

                $idservicio = $ServicioTradu->getIdservicio();
                $nombreservicio = $ServicioTradu->getNombreservicio();
                $traduservicio = 0;

            }

            $ResultatArray[$k]['idservicio'] = $idservicio;
            $ResultatArray[$k]['nombreservicio'] = $nombreservicio;
            $ResultatArray[$k]['traduservicio'] = $traduservicio;
            $ResultatArray[$k]['activo'] = $valorActivo;

        }

        return $ResultatArray;
        
    }
    
    public function montaArbreContingut($idhotel, $ididioma, $idarticle) {
        
        $em = $this->getDoctrine()->getEntityManager();
        $ConsultaSeccionsIdHotel = $em->getRepository('ContentBundle:Seccion')->findSeccionsIdHotel($idhotel);
        
        $SeccioNoMostra = array();
        
        foreach($ConsultaSeccionsIdHotel as $k =>$ConsultaSeccionIdHotel) {
 
            $ArtRelacionat = $em->getRepository('ContentBundle:ArticleRelation')->findOneByIdseccion($ConsultaSeccionIdHotel->getId());
            
            if ($ConsultaSeccionIdHotel->getIdtipo() == 0 && is_object($ArtRelacionat) && $ArtRelacionat->getIdarticle() != $idarticle ) {
                $SeccioNoMostra[$ConsultaSeccionIdHotel->getId()] = $ConsultaSeccionIdHotel->getId();
            }
                
            $tipoSeccio[$k] = $ConsultaSeccionIdHotel->getIdtipo();

        }
        
        $em = $this->getDoctrine()->getEntityManager();
        $relacions = $em->getRepository('ContentBundle:SeccionRelation')->findSeccionsByIdhotel($idhotel);
 
        // Aqui comprovo si hi ha alguna relacio
        if (isset($relacions)) {
        
            // Hi ha relacions
        
            $PrincipalArray = array();
            $RelacioArray = array();
            $OrderArray = array();

            foreach($relacions as $i => $relacio) {

                $PrincipalArray[$relacio->getIdseccion()] = $relacio->getIdseccion();
                $RelacioArray[$relacio->getIdsecfill()][$relacio->getIdseccion()] = $relacio->getIdseccion();
                $OrderArray[$relacio->getIdsecfill()][$relacio->getIdseccion()] = $relacio->getPosition();

            }

            $ProfMaxi = count($RelacioArray);

            $ResultatArray = array();
            $ControlPosicio = array();
            $PosicioArray = array();

            $SenseRelacioArray = array();
            $Relacionats = array();

            foreach($PrincipalArray as $Principal) {

                if (array_key_exists($Principal, $RelacioArray)) {

                    $Relacionats[$Principal] = $Principal;

                } else {

                    $SenseRelacioArray[$Principal] = $Principal;

                }

            }

            if (isset($RelacioArray[0])) {

                // esta definit
            
                $PosPrincipal = $RelacioArray[0];

                foreach($PosPrincipal as $Principal) {
                    
                    // Defineixo l'array temporal
                    $TempArray = array();

                    if (array_key_exists($Principal, $RelacioArray)) {
                        
                        // Miro si te relacio, i si en te el guardo en l'array temporal
                        if (array_key_exists($Principal, $Relacionats)) {

                            $PosTempArray = $ProfMaxi;

                            $TempArray[$PosTempArray][0] = $Principal;
                            $TempArray[$PosTempArray][1] = 1;

                            $ControlSub = 1;

                        }                        

                        // Començo a recorre
                        foreach($RelacioArray[$Principal] as $Fill) {
                            
                            $ResultatArray[$Principal][$Fill] = $Fill;
                            $PosicioArray[$Principal][$Fill] = 1;

                            $valor = $Fill;
                            
                            $ControlPosicio[$Fill] = $Fill;
                            
                            // Miro si te relacio, i si en te el guardo en l'array temporal
                            if (array_key_exists($Fill, $Relacionats)) {

                                $PosTempArray = $ProfMaxi - 1;
                                
                                $TempArray[$PosTempArray][0] = $Fill;
                                $TempArray[$PosTempArray][1] = 2;

                                $ControlSub = 1;

                            }                            

                            // Aqui recorro la primera volta
                            for($b=2;$b<$ProfMaxi;$b++) {

                                if (!array_key_exists($valor, $SenseRelacioArray)) { 

                                    $c = 1;

                                    $totalRelacioArray = count($RelacioArray[$valor]);

                                    foreach ($RelacioArray[$valor] as $aveure) {

                                        // Aqui tinc que controlar si l'array segueix
                                        if (!array_key_exists($aveure, $ControlPosicio)) {
                                            
                                            $ResultatArray[$Principal][$aveure] = $aveure;
                                            $PosicioArray[$Principal][$aveure] = $b;
                                            
                                        }
                                        
                                        $ControlPosicio[$aveure] = $aveure;

                                        if (array_key_exists($aveure, $Relacionats)) {
                                           
                                            $PosTempArray = $ProfMaxi - $b;
                                            
                                            $TempArray[$PosTempArray][0] = $aveure;
                                            $TempArray[$PosTempArray][1] = $b + 1;
                                            
                                            $valor = $aveure;
                                            $ControlSub = 1;
                                            
                                            break;
                                            
                                        }

                                        $c++;

                                    }

                                }

                            }

                            // Fi recorro la primera volta
                            
                            // Aqui començo les altres voltes
                            
                            if (isset($ControlSub)) {
                                
                                if ($ControlSub == 1) {
                                    
                                    for ($z=0;$z<(count($TempArray)*3);$z++) {
                                        
                                        // Aqui ordeno l'array
                                        ksort($TempArray);
                                    
                                        foreach($TempArray as $Temp) {

                                            $valor = $Temp[0];
                                            
                                            $PosicionMenu = $Temp[1];

                                            for($b=$PosicionMenu;$b<$ProfMaxi;$b++) {

                                                if (!array_key_exists($valor, $SenseRelacioArray)) { 

                                                    foreach ($RelacioArray[$valor] as $aveure) {

                                                        if (!array_key_exists($aveure, $ResultatArray)) {

                                                            // Aqui tinc que controlar si l'array segueix
                                                            if (!array_key_exists($aveure, $ControlPosicio)) {

                                                                $ResultatArray[$Principal][$aveure] = $aveure;
                                                                $PosicioArray[$Principal][$aveure] = $b;

                                                                if (isset($RelacioArray[$aveure])) {
                                                                    $totalRelacioArray = count($RelacioArray[$aveure]);
                                                                } else {
                                                                    $totalRelacioArray = 0; 
                                                                }

                                                                $ControlPosicio[$aveure] = $aveure;

                                                                if ($totalRelacioArray > 0) {

                                                                    $PosTempArray = $ProfMaxi - ($b + 1);

                                                                    $TempArray[$PosTempArray][0] = $aveure;
                                                                    $TempArray[$PosTempArray][1] = $b + 1;

                                                                    $noborrar = 1;

                                                                    break 3;

                                                                } else {
                                                                   
                                                                    $noborrar = 1;
                                                                    
                                                                }

                                                            }

                                                        }

                                                    }

                                                }

                                            }

                                        }
                                        
                                    }
                                    
                                }

                            }
                            
                            // Borro els temporals despres de cada categoria pare
                            if ($noborrar != 1) {
                                        
                                unset($TempArray);
                                unset($ControlSub);
                                        
                            }

                        }

                    }

                }

                //Aqui montare el array bo

                $CategoriesFinalArray = array();

                $k = 0;
                
                foreach ($RelacioArray[0] as $CatePrincipals) {

                    $TradusSeccio = $this->getSeccionsTradus($CatePrincipals, $ididioma);
                    
                    if (is_int($TradusSeccio)) {

                        $DefaultIdioma = 1;
                        $TradusSeccio = $this->getSeccionsTradus($CatePrincipals, $DefaultIdioma);
                        $noTeTraduccio = 1;

                    } else {

                        $noTeTraduccio = 0;

                    }
                    
                    $Anterior = 0;
                    
                    if (array_key_exists($CatePrincipals, $SeccioNoMostra)) {
                        
                        // No sera actiu
                        $actiu = 0;
                        
                    } else {

                        // Es actiu
                        $actiu = 1;
                        
                    }
                        
                    $CategoriesFinalArray[$k]['id'] = $CatePrincipals;
                    $CategoriesFinalArray[$k]['pos'] = 0;
                    $CategoriesFinalArray[$k]['anterior'] = $Anterior;
                    $CategoriesFinalArray[$k]['idtradu'] = $TradusSeccio->getId();
                    $CategoriesFinalArray[$k]['text'] = $TradusSeccio->getNomseccion();
                    $CategoriesFinalArray[$k]['published'] = $TradusSeccio->getPublished();
                    $CategoriesFinalArray[$k]['notraduccio'] = $noTeTraduccio;
                    $CategoriesFinalArray[$k]['actiu'] = $actiu;

                    if (array_key_exists($CatePrincipals, $ResultatArray)) {

                        foreach($ResultatArray[$CatePrincipals] as $Resultat) {

                            $k++;

                            $TradusSeccio = $this->getSeccionsTradus($Resultat, $ididioma);

                            if (is_int($TradusSeccio)) {

                                $DefaultIdioma = 1;
                                $TradusSeccio = $this->getSeccionsTradus($Resultat, $DefaultIdioma);
                                $noTeTraduccio = 1;

                            } else {

                                $noTeTraduccio = 0;

                            }

                            $em = $this->getDoctrine()->getEntityManager();
                            $AnteriorObjecte = $em->getRepository('ContentBundle:SeccionRelation')->findOneByIdseccion($Resultat);

                            $Anterior = $AnteriorObjecte->getIdsecfill();

                            $Posicio = $PosicioArray[$CatePrincipals][$Resultat];

                            $String = "";

                            for ($i=0;$i<$Posicio;$i++){

                                $String = "-- ". $String;

                            }
                            
                            //echo "Aveure ". array_key_exists($Resultat, $SeccioNoMostra) ."<br />";
                            
                            if (array_key_exists($Resultat, $SeccioNoMostra)) {
                        
                                // No sera actiu
                                $actiu = 0;
                        
                            } else {

                                // Es actiu
                                $actiu = 1;
                        
                            }                            
                                
                            $CategoriesFinalArray[$k]['id'] = $Resultat;
                            $CategoriesFinalArray[$k]['pos'] = $Posicio;
                            $CategoriesFinalArray[$k]['anterior'] = $Anterior;
                            $CategoriesFinalArray[$k]['idtradu'] = $TradusSeccio->getId();
                            $CategoriesFinalArray[$k]['text'] = $String.$TradusSeccio->getNomseccion();
                            $CategoriesFinalArray[$k]['published'] = $TradusSeccio->getPublished();
                            $CategoriesFinalArray[$k]['notraduccio'] = $noTeTraduccio;
                            $CategoriesFinalArray[$k]['actiu'] = $actiu;

                        }

                    }

                    $k++;

                }
                
                return $CategoriesFinalArray;

            } else {

                // No esta definit
                return 0;

            }
        
        } else {
            
            // No hi ha relacions
            return 0;
            
        }     
   
    }    
    
    private function getSeccionsTradus($idseccion, $ididioma) {
        
        $em = $this->getDoctrine()->getEntityManager();
        $TraduSeccions = $em->getRepository('ContentBundle:SeccionTradus')->findSeccionsIdSeccion($idseccion, $ididioma);
        
        if (count($TraduSeccions) != 0) {
           
            foreach($TraduSeccions as $TraduSeccion) {
            
                $resultat = $TraduSeccion;
            
            } 
            
            return $resultat;
        
        } else {
            
            return 0;
            
        }
        
    }      
    
    private function getArticleTradus($idarticle, $ididioma) {
        
        $em = $this->getDoctrine()->getEntityManager();
        $TraduArticles = $em->getRepository('ContentBundle:ArticleTradus')->findArticlesIdHotel($idarticle, $ididioma);
        
        if (count($TraduArticles) != 0) {
           
            foreach($TraduArticles as $TraduArticle) {
            
                $resultat = $TraduArticle;
            
            } 
            
            return $resultat;
        
        } else {
            
            return 0;
            
        }        
        
    }
    
    private function getArticleMetas($idarticle, $ididioma) {
       
        $em = $this->getDoctrine()->getEntityManager();
        $MetaArticles = $em->getRepository('ContentBundle:ArticleMeta')->findArticleMetaIdarticle($idarticle, $ididioma);
        
        if (count($MetaArticles) != 0) {
           
            foreach($MetaArticles as $MetaArticle) {
            
                $resultat = $MetaArticle;
            
            } 
            
            return $resultat;
        
        } else {
            
            return 0;
            
        } 
        
    }
    
    private function getArticleRelacio($idarticle) {
        
        $em = $this->getDoctrine()->getEntityManager();
        $RelaArticles = $em->getRepository('ContentBundle:ArticleRelation')->findByIdarticle($idarticle);  

        if (count($RelaArticles) != 0) {
           
            foreach($RelaArticles as $RelaArticle) {
            
                $resultat = $RelaArticle;
            
            } 
            
            return $resultat;
        
        } else {
            
            return 0;
            
        } 
        
    }  
    
}
